"""
1. 线程安全的计数器（40 分）
题目描述：实现一个线程安全的计数器类，包含increment、decrement和get_count方法。创建 10 个线程，每个线程对计数器执行 1000 次递增和 1000 次递减操作，最后输出计数器的值。
评分标准：
使用适当的同步机制（10 分）
正确实现三个方法（10 分）
线程正确启动和等待（10 分）
最终结果为 0（10 分）
"""
import threading

class Counter:
    def __init__(self):
        self.count = 0
        self.lock = threading.Lock()

    def increment(self):
        with self.lock:
            self.count += 1

    def decrement(self):
        with self.lock:
            self.count -= 1

    def get_count(self):
        with self.lock:
            return self.count

def worker(counter):
    for _ in range(1000):
        counter.increment()
    for _ in range(1000):
        counter.decrement()

counter = Counter()
threads = [threading.Thread(target=worker, args=(counter,)) for _ in range(10)]

for t in threads:
    t.start()
for t in threads:
    t.join()

print("Final count:", counter.get_count())  # 应输出0